<?php
/**
 * 用户附属信息管理类
 *
 * @auther 大耳牛
 * 2017-09-24
 **/
namespace Xijie\Model;
use Think\Model;
class MemberProfileModel extends Model{
	//定义表名称
	protected $tableName = 'member_profile';
	
	/**
	 * 保存数据
	 * @param array $data
	 **/
	public function addMemberProfileInfo($data){
		return $this->data($data)->add();
	}
	
	/**
	 * 编辑信息
	 * @param array $data 编辑数据
	 * @param int $userid
	 **/
	public function editMemberProfileInfo($data, $where=array()){
		return $this->where($where)->setField($data);
	}
	
	/**
	 * 获取最大记录信息
	 * @param string $roomnumber 房间号
	 * @param int $userid
	 * @param string $order_month 订单月，查询时，应该小于订单月并获取记录中的最大信息
	 **/
	public function getMemberProfileInfoByMaxId($roomnumber, $userid, $order_month){
		return $this->where(array(
			'roomnumber' => $roomnumber,
			'userid' => $userid,
			'month' => array('lt', $order_month)
		))->order('month desc, profile_id desc')
		->limit(1)
		->find();
	}
	
	/**
	 * 获取最大记录信息
	 * @param string $roomnumber 房间号
	 * @param int $userid
	 **/
	public function getMemberProfileInfoByMaxIdT($roomnumber, $userid){
		return $this->where(array(
			'roomnumber' => $roomnumber,
			'userid' => $userid,
		))->order('month desc, profile_id desc')
		->limit(1)
		->find();
	}
	
	/**
	 * 判断订单月后是否已存在记录
	 * @param string $roomnumber 房间号
	 * @param int $userid 用户ID
	 * @param string $order_month 订单月
	 **/
	public function getMemberProfileCountByMaxId($roomnumber, $userid, $order_month){
		return $this->where(array(
			'roomnumber' => $roomnumber,
			'userid' => $userid,
			'month' => array('gt', $order_month)
		))->count();
	}
	
	/**
	 * 删除最大记录信息
	 * @param string $roomnumber 房间号
	 * @param int $userid 用户ID
	 * @param string $order_month 订单月
	 **/
	public function deleteMemberProfileInfoByMaxId($roomnumber, $userid, $order_month){
		return $this->where(array(
			'roomnumber' => $roomnumber,
			'userid' => $userid,
			'month' => $order_month
		))->delete();
	}
}
